package self.zhangkang.chart.view.kline

import self.zhangkang.chart.view.ChartIndex
import self.zhangkang.chart.view.ChartIndexType

/**
 * @author : Android-张康
 * created on: 2023/5/8 15:16
 * description: K线指标
 *
 * @param indexName 指标名称
 * @param canSwitch 是否可以切换
 * @param chartIndexType 指标类型
 */
sealed class KLineIndex(
    val indexName: String,
    val canSwitch: Boolean,
    val chartIndexType: ChartIndexType
) : ChartIndex {

    /**
     * 未知
     */
    data object UNKNOWN : KLineIndex("未知", false, ChartIndexType.Main)

    /**
     * K线
     */
    data object KLine : KLineIndex("均线", true, ChartIndexType.Main)

    /**
     * BOLL
     */
    data object BOLL : KLineIndex("布林线", true, ChartIndexType.Main)

    /**
     * 成本均线
     */
    data object CYC : KLineIndex("成本均线", true, ChartIndexType.Main)

    /**
     * 成交量
     */
    data object Volume : KLineIndex("成交量", true, ChartIndexType.Subplot)

    /**
     * 成交额
     */
    data object TurnOver : KLineIndex("成交额", true, ChartIndexType.Subplot)

    /**
     *  MACD
     */
    data object MACD : KLineIndex("MACD", true, ChartIndexType.Subplot)

    /**
     * KDJ
     */
    data object KDJ : KLineIndex("KDJ", true, ChartIndexType.Subplot)

    /**
     * RSI
     */
    data object RSI : KLineIndex("RSI", true, ChartIndexType.Subplot)

    /**
     * CCI指标。顺势指标
     */
    data object CCI : KLineIndex("CCI", true, ChartIndexType.Subplot)

    /**
     * WR 指标
     */
    data object WR : KLineIndex("WR", true, ChartIndexType.Subplot)

    /**
     * BIAS 指标
     */
    data object BIAS : KLineIndex("BIAS", true, ChartIndexType.Subplot)
}
